import shutil
import os

import Input
import util


def copy_files_and_zip(source_files, destination_dir, zip_filename):
    # 检查目标目录是否存在，如果不存在则创建
    if not os.path.exists(destination_dir):
        os.makedirs(destination_dir)

    # 复制文件到目标目录
    for file in source_files:
        if os.path.isfile(file):
            shutil.copy2(file, destination_dir)
        else:
            print(f"{file} 不是一个有效的文件，跳过复制。")

    # 将目标目录打包成 ZIP 文件
    shutil.make_archive(zip_filename, 'zip', destination_dir)
    print(f"已将 {destination_dir} 打包成 {zip_filename}.zip")


if __name__ == '__main__':
    a = 6
    b = 8
    source_files = []
    for i in range(a, b+1):
        cur_date = util.to_date(f'2025-03-{util.get_day(i)}')
        source_files.append(Input.get_format_detail_path(cur_date))
        source_files.append(Input.get_cell_path(cur_date))
        source_files.append(Input.get_company_path(cur_date))
        source_files.append(Input.get_net_path(cur_date))
        source_files.append(Input.get_gird_path(cur_date))

    destination_dir = f'D:\\中断输入\\上传\\2025-03-{util.get_day(b)}上传文件'
    zip_filename = f'D:\\中断输入\\上传\\2025-03-{util.get_day(b)}上传文件'

    copy_files_and_zip(source_files, destination_dir, zip_filename)
